import { TimeRange } from "@/utils"

export interface IQueryListParams {
	applyName: string
	applyTimeEnd: string
	applyTimeStart: string
	auditName: string
	auditStatus: string
	auditTimeEnd: string
	auditTimeStart: string
	eventId: string
	lockStatus: number
	pageNum: number
	pageSize: number
	proxyName: string
	type: number
	targetUserName?: string
	applyTime?: TimeRange
	auditTime?: TimeRange
}

export interface IResponseItem {
	accountType: null | number
	applyName: string
	applyRemark: string
	auditDatetime: string
	auditName: string
	auditRemark: string
	auditStatus: number
	businessModel: null | number
	createdAt: string
	creditQuotaType: null | number
	eventId: string
	id: string
	lockDateTime: string
	lockId: string
	lockName: string
	lockStatus: number
	merchantId: string
	merchantName: null | string
	processStatus: number
	proxyId: string
	proxyName: string
	registerDatetime: null | string
	topProxyId: string
	topProxyName: string
	type: number
	updatedAt: string
	windControlId: null | number
	windControlName: null | string
	lockDatetime: string | null
	lockOrder: boolean
	userName?: string
}

export interface IQueryItemDetailParams {
	id: string
}

export interface IResponseItemDetail {
	accountType: number
	applyName: string
	applyRemark: string
	auditDatetime: string
	auditName: string
	auditRemark: string
	auditStatus: number
	businessModel: number
	createdAt: string
	creditQuotaType: null | number
	eventId: string
	id: number
	lockDateTime: string
	lockId: null | string
	lockName: string
	lockStatus: number
	merchantId: string
	merchantName: null | string
	processStatus: null | number
	proxyId: string
	proxyName: string
	registerDatetime: string
	topProxyId: string
	topProxyName: string
	type: number
	updatedAt: string
	windControlId: number
	windControlName: string
}

export interface IUpdateLockParams {
	id: string
	lockStatus: number
	merchantId: string
}

export interface ILockRecordParams {
	id: string
	lockStatus: number
	merchantId: string
	remark?: string
}

export interface IAuditRecordParams {
	id: string
	remark: string
	auditStatus: boolean | number
}

export interface IPolicyTypeQueryParams {
	contractType: number
}

export interface IQueryProxyQueryParams {
	merchantId: string
	status: number
	userId: string
}

export interface IPolicyTypeResponseItem {
	actualPersonRebate: number
	chessRebate: number
	createdAt: string
	createdBy: string
	effectDt: null | string
	electronicRebate: number
	esportsRebate: number
	hasSub: boolean
	id: string
	lostEffectDt: null | string
	lotteryTicketRebate: number
	merchantId: string
	merchantName: string
	parentProxyId: string
	parentProxyLevel: number
	parentProxyName: null | string
	platformFlag: number
	proxyLevel: null | number
	proxyPathUsername: null | string
	rebateAllotMode: null | number
	rebateRateLevel: null | number
	rebateRateTemplateId: null | string
	rebateRateTemplateName: null | string
	remark: null | string
	sportsRebate: number
	status: number
	texasInsuranceRebate: number
	texasRebate: number
	topProxyId: string
	topProxyName: string
	updatedAt: string
	updatedBy: string
	userId: string
	userName: string
	userType: number
	valueAddedServiceRebate: number
	version: number
	zhanchengFlag: number
}
